/**
 * 主题配置文件
 * 定义应用支持的主题色彩方案
 */

export type ThemeColor = 'navy' | 'blue' | 'teal'

export interface ThemeConfig {
  id: ThemeColor
  name: string
  hex: string
  oklch: string
  description: string
}

/**
 * 将HEX颜色转换为OKLCH格式
 * 这里使用预计算的OKLCH值以确保颜色准确性
 */
export const THEME_COLORS: Record<ThemeColor, ThemeConfig> = {
  navy: {
    id: 'navy',
    name: '海军蓝',
    hex: '#44679F',
    oklch: '0.55 0.12 250.00',
    description: '沉稳专业的海军蓝色调'
  },
  blue: {
    id: 'blue',
    name: '蓝色',
    hex: '#5e88fc',
    oklch: '0.65 0.18 260.00',
    description: '活力现代的蓝色调'
  },
  teal: {
    id: 'teal',
    name: '青色',
    hex: '#11999e',
    oklch: '0.58 0.14 190.00',
    description: '清新自然的青色调'
  }
}

/**
 * 默认主题
 */
export const DEFAULT_THEME: ThemeColor = 'navy'

/**
 * 获取主题配置
 */
export function getThemeConfig(theme: ThemeColor): ThemeConfig {
  return THEME_COLORS[theme]
}

/**
 * 获取所有可用主题
 */
export function getAllThemes(): ThemeConfig[] {
  return Object.values(THEME_COLORS)
}

/**
 * 验证主题是否有效
 */
export function isValidTheme(theme: string): theme is ThemeColor {
  return theme in THEME_COLORS
}